package com.tosit.bmx.domian;

import java.util.ArrayList;
import java.util.List;

public class SubjectExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SubjectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMtypeIsNull() {
            addCriterion("mtype is null");
            return (Criteria) this;
        }

        public Criteria andMtypeIsNotNull() {
            addCriterion("mtype is not null");
            return (Criteria) this;
        }

        public Criteria andMtypeEqualTo(Integer value) {
            addCriterion("mtype =", value, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeNotEqualTo(Integer value) {
            addCriterion("mtype <>", value, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeGreaterThan(Integer value) {
            addCriterion("mtype >", value, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("mtype >=", value, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeLessThan(Integer value) {
            addCriterion("mtype <", value, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeLessThanOrEqualTo(Integer value) {
            addCriterion("mtype <=", value, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeIn(List<Integer> values) {
            addCriterion("mtype in", values, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeNotIn(List<Integer> values) {
            addCriterion("mtype not in", values, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeBetween(Integer value1, Integer value2) {
            addCriterion("mtype between", value1, value2, "mtype");
            return (Criteria) this;
        }

        public Criteria andMtypeNotBetween(Integer value1, Integer value2) {
            addCriterion("mtype not between", value1, value2, "mtype");
            return (Criteria) this;
        }

        public Criteria andMpathIsNull() {
            addCriterion("mpath is null");
            return (Criteria) this;
        }

        public Criteria andMpathIsNotNull() {
            addCriterion("mpath is not null");
            return (Criteria) this;
        }

        public Criteria andMpathEqualTo(String value) {
            addCriterion("mpath =", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathNotEqualTo(String value) {
            addCriterion("mpath <>", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathGreaterThan(String value) {
            addCriterion("mpath >", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathGreaterThanOrEqualTo(String value) {
            addCriterion("mpath >=", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathLessThan(String value) {
            addCriterion("mpath <", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathLessThanOrEqualTo(String value) {
            addCriterion("mpath <=", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathLike(String value) {
            addCriterion("mpath like", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathNotLike(String value) {
            addCriterion("mpath not like", value, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathIn(List<String> values) {
            addCriterion("mpath in", values, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathNotIn(List<String> values) {
            addCriterion("mpath not in", values, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathBetween(String value1, String value2) {
            addCriterion("mpath between", value1, value2, "mpath");
            return (Criteria) this;
        }

        public Criteria andMpathNotBetween(String value1, String value2) {
            addCriterion("mpath not between", value1, value2, "mpath");
            return (Criteria) this;
        }

        public Criteria andProblemIsNull() {
            addCriterion("problem is null");
            return (Criteria) this;
        }

        public Criteria andProblemIsNotNull() {
            addCriterion("problem is not null");
            return (Criteria) this;
        }

        public Criteria andProblemEqualTo(String value) {
            addCriterion("problem =", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemNotEqualTo(String value) {
            addCriterion("problem <>", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemGreaterThan(String value) {
            addCriterion("problem >", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemGreaterThanOrEqualTo(String value) {
            addCriterion("problem >=", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemLessThan(String value) {
            addCriterion("problem <", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemLessThanOrEqualTo(String value) {
            addCriterion("problem <=", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemLike(String value) {
            addCriterion("problem like", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemNotLike(String value) {
            addCriterion("problem not like", value, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemIn(List<String> values) {
            addCriterion("problem in", values, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemNotIn(List<String> values) {
            addCriterion("problem not in", values, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemBetween(String value1, String value2) {
            addCriterion("problem between", value1, value2, "problem");
            return (Criteria) this;
        }

        public Criteria andProblemNotBetween(String value1, String value2) {
            addCriterion("problem not between", value1, value2, "problem");
            return (Criteria) this;
        }

        public Criteria andAnswerIsNull() {
            addCriterion("answer is null");
            return (Criteria) this;
        }

        public Criteria andAnswerIsNotNull() {
            addCriterion("answer is not null");
            return (Criteria) this;
        }

        public Criteria andAnswerEqualTo(Integer value) {
            addCriterion("answer =", value, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerNotEqualTo(Integer value) {
            addCriterion("answer <>", value, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerGreaterThan(Integer value) {
            addCriterion("answer >", value, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerGreaterThanOrEqualTo(Integer value) {
            addCriterion("answer >=", value, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerLessThan(Integer value) {
            addCriterion("answer <", value, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerLessThanOrEqualTo(Integer value) {
            addCriterion("answer <=", value, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerIn(List<Integer> values) {
            addCriterion("answer in", values, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerNotIn(List<Integer> values) {
            addCriterion("answer not in", values, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerBetween(Integer value1, Integer value2) {
            addCriterion("answer between", value1, value2, "answer");
            return (Criteria) this;
        }

        public Criteria andAnswerNotBetween(Integer value1, Integer value2) {
            addCriterion("answer not between", value1, value2, "answer");
            return (Criteria) this;
        }

        public Criteria andOptionaIsNull() {
            addCriterion("optiona is null");
            return (Criteria) this;
        }

        public Criteria andOptionaIsNotNull() {
            addCriterion("optiona is not null");
            return (Criteria) this;
        }

        public Criteria andOptionaEqualTo(String value) {
            addCriterion("optiona =", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaNotEqualTo(String value) {
            addCriterion("optiona <>", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaGreaterThan(String value) {
            addCriterion("optiona >", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaGreaterThanOrEqualTo(String value) {
            addCriterion("optiona >=", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaLessThan(String value) {
            addCriterion("optiona <", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaLessThanOrEqualTo(String value) {
            addCriterion("optiona <=", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaLike(String value) {
            addCriterion("optiona like", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaNotLike(String value) {
            addCriterion("optiona not like", value, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaIn(List<String> values) {
            addCriterion("optiona in", values, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaNotIn(List<String> values) {
            addCriterion("optiona not in", values, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaBetween(String value1, String value2) {
            addCriterion("optiona between", value1, value2, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionaNotBetween(String value1, String value2) {
            addCriterion("optiona not between", value1, value2, "optiona");
            return (Criteria) this;
        }

        public Criteria andOptionbIsNull() {
            addCriterion("optionb is null");
            return (Criteria) this;
        }

        public Criteria andOptionbIsNotNull() {
            addCriterion("optionb is not null");
            return (Criteria) this;
        }

        public Criteria andOptionbEqualTo(String value) {
            addCriterion("optionb =", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbNotEqualTo(String value) {
            addCriterion("optionb <>", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbGreaterThan(String value) {
            addCriterion("optionb >", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbGreaterThanOrEqualTo(String value) {
            addCriterion("optionb >=", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbLessThan(String value) {
            addCriterion("optionb <", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbLessThanOrEqualTo(String value) {
            addCriterion("optionb <=", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbLike(String value) {
            addCriterion("optionb like", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbNotLike(String value) {
            addCriterion("optionb not like", value, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbIn(List<String> values) {
            addCriterion("optionb in", values, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbNotIn(List<String> values) {
            addCriterion("optionb not in", values, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbBetween(String value1, String value2) {
            addCriterion("optionb between", value1, value2, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptionbNotBetween(String value1, String value2) {
            addCriterion("optionb not between", value1, value2, "optionb");
            return (Criteria) this;
        }

        public Criteria andOptioncIsNull() {
            addCriterion("optionc is null");
            return (Criteria) this;
        }

        public Criteria andOptioncIsNotNull() {
            addCriterion("optionc is not null");
            return (Criteria) this;
        }

        public Criteria andOptioncEqualTo(String value) {
            addCriterion("optionc =", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncNotEqualTo(String value) {
            addCriterion("optionc <>", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncGreaterThan(String value) {
            addCriterion("optionc >", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncGreaterThanOrEqualTo(String value) {
            addCriterion("optionc >=", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncLessThan(String value) {
            addCriterion("optionc <", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncLessThanOrEqualTo(String value) {
            addCriterion("optionc <=", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncLike(String value) {
            addCriterion("optionc like", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncNotLike(String value) {
            addCriterion("optionc not like", value, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncIn(List<String> values) {
            addCriterion("optionc in", values, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncNotIn(List<String> values) {
            addCriterion("optionc not in", values, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncBetween(String value1, String value2) {
            addCriterion("optionc between", value1, value2, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptioncNotBetween(String value1, String value2) {
            addCriterion("optionc not between", value1, value2, "optionc");
            return (Criteria) this;
        }

        public Criteria andOptiondIsNull() {
            addCriterion("optiond is null");
            return (Criteria) this;
        }

        public Criteria andOptiondIsNotNull() {
            addCriterion("optiond is not null");
            return (Criteria) this;
        }

        public Criteria andOptiondEqualTo(String value) {
            addCriterion("optiond =", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondNotEqualTo(String value) {
            addCriterion("optiond <>", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondGreaterThan(String value) {
            addCriterion("optiond >", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondGreaterThanOrEqualTo(String value) {
            addCriterion("optiond >=", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondLessThan(String value) {
            addCriterion("optiond <", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondLessThanOrEqualTo(String value) {
            addCriterion("optiond <=", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondLike(String value) {
            addCriterion("optiond like", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondNotLike(String value) {
            addCriterion("optiond not like", value, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondIn(List<String> values) {
            addCriterion("optiond in", values, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondNotIn(List<String> values) {
            addCriterion("optiond not in", values, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondBetween(String value1, String value2) {
            addCriterion("optiond between", value1, value2, "optiond");
            return (Criteria) this;
        }

        public Criteria andOptiondNotBetween(String value1, String value2) {
            addCriterion("optiond not between", value1, value2, "optiond");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andMusicpathIsNull() {
            addCriterion("musicpath is null");
            return (Criteria) this;
        }

        public Criteria andMusicpathIsNotNull() {
            addCriterion("musicpath is not null");
            return (Criteria) this;
        }

        public Criteria andMusicpathEqualTo(String value) {
            addCriterion("musicpath =", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathNotEqualTo(String value) {
            addCriterion("musicpath <>", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathGreaterThan(String value) {
            addCriterion("musicpath >", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathGreaterThanOrEqualTo(String value) {
            addCriterion("musicpath >=", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathLessThan(String value) {
            addCriterion("musicpath <", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathLessThanOrEqualTo(String value) {
            addCriterion("musicpath <=", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathLike(String value) {
            addCriterion("musicpath like", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathNotLike(String value) {
            addCriterion("musicpath not like", value, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathIn(List<String> values) {
            addCriterion("musicpath in", values, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathNotIn(List<String> values) {
            addCriterion("musicpath not in", values, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathBetween(String value1, String value2) {
            addCriterion("musicpath between", value1, value2, "musicpath");
            return (Criteria) this;
        }

        public Criteria andMusicpathNotBetween(String value1, String value2) {
            addCriterion("musicpath not between", value1, value2, "musicpath");
            return (Criteria) this;
        }

        public Criteria andHtmltitleIsNull() {
            addCriterion("htmltitle is null");
            return (Criteria) this;
        }

        public Criteria andHtmltitleIsNotNull() {
            addCriterion("htmltitle is not null");
            return (Criteria) this;
        }

        public Criteria andHtmltitleEqualTo(String value) {
            addCriterion("htmltitle =", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleNotEqualTo(String value) {
            addCriterion("htmltitle <>", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleGreaterThan(String value) {
            addCriterion("htmltitle >", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleGreaterThanOrEqualTo(String value) {
            addCriterion("htmltitle >=", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleLessThan(String value) {
            addCriterion("htmltitle <", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleLessThanOrEqualTo(String value) {
            addCriterion("htmltitle <=", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleLike(String value) {
            addCriterion("htmltitle like", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleNotLike(String value) {
            addCriterion("htmltitle not like", value, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleIn(List<String> values) {
            addCriterion("htmltitle in", values, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleNotIn(List<String> values) {
            addCriterion("htmltitle not in", values, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleBetween(String value1, String value2) {
            addCriterion("htmltitle between", value1, value2, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmltitleNotBetween(String value1, String value2) {
            addCriterion("htmltitle not between", value1, value2, "htmltitle");
            return (Criteria) this;
        }

        public Criteria andHtmlbIsNull() {
            addCriterion("htmlb is null");
            return (Criteria) this;
        }

        public Criteria andHtmlbIsNotNull() {
            addCriterion("htmlb is not null");
            return (Criteria) this;
        }

        public Criteria andHtmlbEqualTo(String value) {
            addCriterion("htmlb =", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbNotEqualTo(String value) {
            addCriterion("htmlb <>", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbGreaterThan(String value) {
            addCriterion("htmlb >", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbGreaterThanOrEqualTo(String value) {
            addCriterion("htmlb >=", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbLessThan(String value) {
            addCriterion("htmlb <", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbLessThanOrEqualTo(String value) {
            addCriterion("htmlb <=", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbLike(String value) {
            addCriterion("htmlb like", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbNotLike(String value) {
            addCriterion("htmlb not like", value, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbIn(List<String> values) {
            addCriterion("htmlb in", values, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbNotIn(List<String> values) {
            addCriterion("htmlb not in", values, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbBetween(String value1, String value2) {
            addCriterion("htmlb between", value1, value2, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlbNotBetween(String value1, String value2) {
            addCriterion("htmlb not between", value1, value2, "htmlb");
            return (Criteria) this;
        }

        public Criteria andHtmlcIsNull() {
            addCriterion("htmlc is null");
            return (Criteria) this;
        }

        public Criteria andHtmlcIsNotNull() {
            addCriterion("htmlc is not null");
            return (Criteria) this;
        }

        public Criteria andHtmlcEqualTo(String value) {
            addCriterion("htmlc =", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcNotEqualTo(String value) {
            addCriterion("htmlc <>", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcGreaterThan(String value) {
            addCriterion("htmlc >", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcGreaterThanOrEqualTo(String value) {
            addCriterion("htmlc >=", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcLessThan(String value) {
            addCriterion("htmlc <", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcLessThanOrEqualTo(String value) {
            addCriterion("htmlc <=", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcLike(String value) {
            addCriterion("htmlc like", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcNotLike(String value) {
            addCriterion("htmlc not like", value, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcIn(List<String> values) {
            addCriterion("htmlc in", values, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcNotIn(List<String> values) {
            addCriterion("htmlc not in", values, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcBetween(String value1, String value2) {
            addCriterion("htmlc between", value1, value2, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmlcNotBetween(String value1, String value2) {
            addCriterion("htmlc not between", value1, value2, "htmlc");
            return (Criteria) this;
        }

        public Criteria andHtmldIsNull() {
            addCriterion("htmld is null");
            return (Criteria) this;
        }

        public Criteria andHtmldIsNotNull() {
            addCriterion("htmld is not null");
            return (Criteria) this;
        }

        public Criteria andHtmldEqualTo(String value) {
            addCriterion("htmld =", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldNotEqualTo(String value) {
            addCriterion("htmld <>", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldGreaterThan(String value) {
            addCriterion("htmld >", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldGreaterThanOrEqualTo(String value) {
            addCriterion("htmld >=", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldLessThan(String value) {
            addCriterion("htmld <", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldLessThanOrEqualTo(String value) {
            addCriterion("htmld <=", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldLike(String value) {
            addCriterion("htmld like", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldNotLike(String value) {
            addCriterion("htmld not like", value, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldIn(List<String> values) {
            addCriterion("htmld in", values, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldNotIn(List<String> values) {
            addCriterion("htmld not in", values, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldBetween(String value1, String value2) {
            addCriterion("htmld between", value1, value2, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmldNotBetween(String value1, String value2) {
            addCriterion("htmld not between", value1, value2, "htmld");
            return (Criteria) this;
        }

        public Criteria andHtmlaIsNull() {
            addCriterion("htmla is null");
            return (Criteria) this;
        }

        public Criteria andHtmlaIsNotNull() {
            addCriterion("htmla is not null");
            return (Criteria) this;
        }

        public Criteria andHtmlaEqualTo(String value) {
            addCriterion("htmla =", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaNotEqualTo(String value) {
            addCriterion("htmla <>", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaGreaterThan(String value) {
            addCriterion("htmla >", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaGreaterThanOrEqualTo(String value) {
            addCriterion("htmla >=", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaLessThan(String value) {
            addCriterion("htmla <", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaLessThanOrEqualTo(String value) {
            addCriterion("htmla <=", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaLike(String value) {
            addCriterion("htmla like", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaNotLike(String value) {
            addCriterion("htmla not like", value, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaIn(List<String> values) {
            addCriterion("htmla in", values, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaNotIn(List<String> values) {
            addCriterion("htmla not in", values, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaBetween(String value1, String value2) {
            addCriterion("htmla between", value1, value2, "htmla");
            return (Criteria) this;
        }

        public Criteria andHtmlaNotBetween(String value1, String value2) {
            addCriterion("htmla not between", value1, value2, "htmla");
            return (Criteria) this;
        }

        public Criteria andZproblemIsNull() {
            addCriterion("zproblem is null");
            return (Criteria) this;
        }

        public Criteria andZproblemIsNotNull() {
            addCriterion("zproblem is not null");
            return (Criteria) this;
        }

        public Criteria andZproblemEqualTo(String value) {
            addCriterion("zproblem =", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemNotEqualTo(String value) {
            addCriterion("zproblem <>", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemGreaterThan(String value) {
            addCriterion("zproblem >", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemGreaterThanOrEqualTo(String value) {
            addCriterion("zproblem >=", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemLessThan(String value) {
            addCriterion("zproblem <", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemLessThanOrEqualTo(String value) {
            addCriterion("zproblem <=", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemLike(String value) {
            addCriterion("zproblem like", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemNotLike(String value) {
            addCriterion("zproblem not like", value, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemIn(List<String> values) {
            addCriterion("zproblem in", values, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemNotIn(List<String> values) {
            addCriterion("zproblem not in", values, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemBetween(String value1, String value2) {
            addCriterion("zproblem between", value1, value2, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZproblemNotBetween(String value1, String value2) {
            addCriterion("zproblem not between", value1, value2, "zproblem");
            return (Criteria) this;
        }

        public Criteria andZoptionaIsNull() {
            addCriterion("zoptiona is null");
            return (Criteria) this;
        }

        public Criteria andZoptionaIsNotNull() {
            addCriterion("zoptiona is not null");
            return (Criteria) this;
        }

        public Criteria andZoptionaEqualTo(String value) {
            addCriterion("zoptiona =", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaNotEqualTo(String value) {
            addCriterion("zoptiona <>", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaGreaterThan(String value) {
            addCriterion("zoptiona >", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaGreaterThanOrEqualTo(String value) {
            addCriterion("zoptiona >=", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaLessThan(String value) {
            addCriterion("zoptiona <", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaLessThanOrEqualTo(String value) {
            addCriterion("zoptiona <=", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaLike(String value) {
            addCriterion("zoptiona like", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaNotLike(String value) {
            addCriterion("zoptiona not like", value, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaIn(List<String> values) {
            addCriterion("zoptiona in", values, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaNotIn(List<String> values) {
            addCriterion("zoptiona not in", values, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaBetween(String value1, String value2) {
            addCriterion("zoptiona between", value1, value2, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionaNotBetween(String value1, String value2) {
            addCriterion("zoptiona not between", value1, value2, "zoptiona");
            return (Criteria) this;
        }

        public Criteria andZoptionbIsNull() {
            addCriterion("zoptionb is null");
            return (Criteria) this;
        }

        public Criteria andZoptionbIsNotNull() {
            addCriterion("zoptionb is not null");
            return (Criteria) this;
        }

        public Criteria andZoptionbEqualTo(String value) {
            addCriterion("zoptionb =", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbNotEqualTo(String value) {
            addCriterion("zoptionb <>", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbGreaterThan(String value) {
            addCriterion("zoptionb >", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbGreaterThanOrEqualTo(String value) {
            addCriterion("zoptionb >=", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbLessThan(String value) {
            addCriterion("zoptionb <", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbLessThanOrEqualTo(String value) {
            addCriterion("zoptionb <=", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbLike(String value) {
            addCriterion("zoptionb like", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbNotLike(String value) {
            addCriterion("zoptionb not like", value, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbIn(List<String> values) {
            addCriterion("zoptionb in", values, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbNotIn(List<String> values) {
            addCriterion("zoptionb not in", values, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbBetween(String value1, String value2) {
            addCriterion("zoptionb between", value1, value2, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptionbNotBetween(String value1, String value2) {
            addCriterion("zoptionb not between", value1, value2, "zoptionb");
            return (Criteria) this;
        }

        public Criteria andZoptioncIsNull() {
            addCriterion("zoptionc is null");
            return (Criteria) this;
        }

        public Criteria andZoptioncIsNotNull() {
            addCriterion("zoptionc is not null");
            return (Criteria) this;
        }

        public Criteria andZoptioncEqualTo(String value) {
            addCriterion("zoptionc =", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncNotEqualTo(String value) {
            addCriterion("zoptionc <>", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncGreaterThan(String value) {
            addCriterion("zoptionc >", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncGreaterThanOrEqualTo(String value) {
            addCriterion("zoptionc >=", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncLessThan(String value) {
            addCriterion("zoptionc <", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncLessThanOrEqualTo(String value) {
            addCriterion("zoptionc <=", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncLike(String value) {
            addCriterion("zoptionc like", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncNotLike(String value) {
            addCriterion("zoptionc not like", value, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncIn(List<String> values) {
            addCriterion("zoptionc in", values, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncNotIn(List<String> values) {
            addCriterion("zoptionc not in", values, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncBetween(String value1, String value2) {
            addCriterion("zoptionc between", value1, value2, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptioncNotBetween(String value1, String value2) {
            addCriterion("zoptionc not between", value1, value2, "zoptionc");
            return (Criteria) this;
        }

        public Criteria andZoptiondIsNull() {
            addCriterion("zoptiond is null");
            return (Criteria) this;
        }

        public Criteria andZoptiondIsNotNull() {
            addCriterion("zoptiond is not null");
            return (Criteria) this;
        }

        public Criteria andZoptiondEqualTo(String value) {
            addCriterion("zoptiond =", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondNotEqualTo(String value) {
            addCriterion("zoptiond <>", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondGreaterThan(String value) {
            addCriterion("zoptiond >", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondGreaterThanOrEqualTo(String value) {
            addCriterion("zoptiond >=", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondLessThan(String value) {
            addCriterion("zoptiond <", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondLessThanOrEqualTo(String value) {
            addCriterion("zoptiond <=", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondLike(String value) {
            addCriterion("zoptiond like", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondNotLike(String value) {
            addCriterion("zoptiond not like", value, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondIn(List<String> values) {
            addCriterion("zoptiond in", values, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondNotIn(List<String> values) {
            addCriterion("zoptiond not in", values, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondBetween(String value1, String value2) {
            addCriterion("zoptiond between", value1, value2, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZoptiondNotBetween(String value1, String value2) {
            addCriterion("zoptiond not between", value1, value2, "zoptiond");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleIsNull() {
            addCriterion("zhtmltitle is null");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleIsNotNull() {
            addCriterion("zhtmltitle is not null");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleEqualTo(String value) {
            addCriterion("zhtmltitle =", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleNotEqualTo(String value) {
            addCriterion("zhtmltitle <>", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleGreaterThan(String value) {
            addCriterion("zhtmltitle >", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleGreaterThanOrEqualTo(String value) {
            addCriterion("zhtmltitle >=", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleLessThan(String value) {
            addCriterion("zhtmltitle <", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleLessThanOrEqualTo(String value) {
            addCriterion("zhtmltitle <=", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleLike(String value) {
            addCriterion("zhtmltitle like", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleNotLike(String value) {
            addCriterion("zhtmltitle not like", value, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleIn(List<String> values) {
            addCriterion("zhtmltitle in", values, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleNotIn(List<String> values) {
            addCriterion("zhtmltitle not in", values, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleBetween(String value1, String value2) {
            addCriterion("zhtmltitle between", value1, value2, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmltitleNotBetween(String value1, String value2) {
            addCriterion("zhtmltitle not between", value1, value2, "zhtmltitle");
            return (Criteria) this;
        }

        public Criteria andZhtmlaIsNull() {
            addCriterion("zhtmla is null");
            return (Criteria) this;
        }

        public Criteria andZhtmlaIsNotNull() {
            addCriterion("zhtmla is not null");
            return (Criteria) this;
        }

        public Criteria andZhtmlaEqualTo(String value) {
            addCriterion("zhtmla =", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaNotEqualTo(String value) {
            addCriterion("zhtmla <>", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaGreaterThan(String value) {
            addCriterion("zhtmla >", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaGreaterThanOrEqualTo(String value) {
            addCriterion("zhtmla >=", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaLessThan(String value) {
            addCriterion("zhtmla <", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaLessThanOrEqualTo(String value) {
            addCriterion("zhtmla <=", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaLike(String value) {
            addCriterion("zhtmla like", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaNotLike(String value) {
            addCriterion("zhtmla not like", value, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaIn(List<String> values) {
            addCriterion("zhtmla in", values, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaNotIn(List<String> values) {
            addCriterion("zhtmla not in", values, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaBetween(String value1, String value2) {
            addCriterion("zhtmla between", value1, value2, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlaNotBetween(String value1, String value2) {
            addCriterion("zhtmla not between", value1, value2, "zhtmla");
            return (Criteria) this;
        }

        public Criteria andZhtmlbIsNull() {
            addCriterion("zhtmlb is null");
            return (Criteria) this;
        }

        public Criteria andZhtmlbIsNotNull() {
            addCriterion("zhtmlb is not null");
            return (Criteria) this;
        }

        public Criteria andZhtmlbEqualTo(String value) {
            addCriterion("zhtmlb =", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbNotEqualTo(String value) {
            addCriterion("zhtmlb <>", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbGreaterThan(String value) {
            addCriterion("zhtmlb >", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbGreaterThanOrEqualTo(String value) {
            addCriterion("zhtmlb >=", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbLessThan(String value) {
            addCriterion("zhtmlb <", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbLessThanOrEqualTo(String value) {
            addCriterion("zhtmlb <=", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbLike(String value) {
            addCriterion("zhtmlb like", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbNotLike(String value) {
            addCriterion("zhtmlb not like", value, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbIn(List<String> values) {
            addCriterion("zhtmlb in", values, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbNotIn(List<String> values) {
            addCriterion("zhtmlb not in", values, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbBetween(String value1, String value2) {
            addCriterion("zhtmlb between", value1, value2, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlbNotBetween(String value1, String value2) {
            addCriterion("zhtmlb not between", value1, value2, "zhtmlb");
            return (Criteria) this;
        }

        public Criteria andZhtmlcIsNull() {
            addCriterion("zhtmlc is null");
            return (Criteria) this;
        }

        public Criteria andZhtmlcIsNotNull() {
            addCriterion("zhtmlc is not null");
            return (Criteria) this;
        }

        public Criteria andZhtmlcEqualTo(String value) {
            addCriterion("zhtmlc =", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcNotEqualTo(String value) {
            addCriterion("zhtmlc <>", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcGreaterThan(String value) {
            addCriterion("zhtmlc >", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcGreaterThanOrEqualTo(String value) {
            addCriterion("zhtmlc >=", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcLessThan(String value) {
            addCriterion("zhtmlc <", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcLessThanOrEqualTo(String value) {
            addCriterion("zhtmlc <=", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcLike(String value) {
            addCriterion("zhtmlc like", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcNotLike(String value) {
            addCriterion("zhtmlc not like", value, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcIn(List<String> values) {
            addCriterion("zhtmlc in", values, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcNotIn(List<String> values) {
            addCriterion("zhtmlc not in", values, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcBetween(String value1, String value2) {
            addCriterion("zhtmlc between", value1, value2, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmlcNotBetween(String value1, String value2) {
            addCriterion("zhtmlc not between", value1, value2, "zhtmlc");
            return (Criteria) this;
        }

        public Criteria andZhtmldIsNull() {
            addCriterion("zhtmld is null");
            return (Criteria) this;
        }

        public Criteria andZhtmldIsNotNull() {
            addCriterion("zhtmld is not null");
            return (Criteria) this;
        }

        public Criteria andZhtmldEqualTo(String value) {
            addCriterion("zhtmld =", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldNotEqualTo(String value) {
            addCriterion("zhtmld <>", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldGreaterThan(String value) {
            addCriterion("zhtmld >", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldGreaterThanOrEqualTo(String value) {
            addCriterion("zhtmld >=", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldLessThan(String value) {
            addCriterion("zhtmld <", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldLessThanOrEqualTo(String value) {
            addCriterion("zhtmld <=", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldLike(String value) {
            addCriterion("zhtmld like", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldNotLike(String value) {
            addCriterion("zhtmld not like", value, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldIn(List<String> values) {
            addCriterion("zhtmld in", values, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldNotIn(List<String> values) {
            addCriterion("zhtmld not in", values, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldBetween(String value1, String value2) {
            addCriterion("zhtmld between", value1, value2, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZhtmldNotBetween(String value1, String value2) {
            addCriterion("zhtmld not between", value1, value2, "zhtmld");
            return (Criteria) this;
        }

        public Criteria andZmusicpathIsNull() {
            addCriterion("zmusicpath is null");
            return (Criteria) this;
        }

        public Criteria andZmusicpathIsNotNull() {
            addCriterion("zmusicpath is not null");
            return (Criteria) this;
        }

        public Criteria andZmusicpathEqualTo(String value) {
            addCriterion("zmusicpath =", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathNotEqualTo(String value) {
            addCriterion("zmusicpath <>", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathGreaterThan(String value) {
            addCriterion("zmusicpath >", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathGreaterThanOrEqualTo(String value) {
            addCriterion("zmusicpath >=", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathLessThan(String value) {
            addCriterion("zmusicpath <", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathLessThanOrEqualTo(String value) {
            addCriterion("zmusicpath <=", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathLike(String value) {
            addCriterion("zmusicpath like", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathNotLike(String value) {
            addCriterion("zmusicpath not like", value, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathIn(List<String> values) {
            addCriterion("zmusicpath in", values, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathNotIn(List<String> values) {
            addCriterion("zmusicpath not in", values, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathBetween(String value1, String value2) {
            addCriterion("zmusicpath between", value1, value2, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andZmusicpathNotBetween(String value1, String value2) {
            addCriterion("zmusicpath not between", value1, value2, "zmusicpath");
            return (Criteria) this;
        }

        public Criteria andTmpathIsNull() {
            addCriterion("tmpath is null");
            return (Criteria) this;
        }

        public Criteria andTmpathIsNotNull() {
            addCriterion("tmpath is not null");
            return (Criteria) this;
        }

        public Criteria andTmpathEqualTo(String value) {
            addCriterion("tmpath =", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathNotEqualTo(String value) {
            addCriterion("tmpath <>", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathGreaterThan(String value) {
            addCriterion("tmpath >", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathGreaterThanOrEqualTo(String value) {
            addCriterion("tmpath >=", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathLessThan(String value) {
            addCriterion("tmpath <", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathLessThanOrEqualTo(String value) {
            addCriterion("tmpath <=", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathLike(String value) {
            addCriterion("tmpath like", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathNotLike(String value) {
            addCriterion("tmpath not like", value, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathIn(List<String> values) {
            addCriterion("tmpath in", values, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathNotIn(List<String> values) {
            addCriterion("tmpath not in", values, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathBetween(String value1, String value2) {
            addCriterion("tmpath between", value1, value2, "tmpath");
            return (Criteria) this;
        }

        public Criteria andTmpathNotBetween(String value1, String value2) {
            addCriterion("tmpath not between", value1, value2, "tmpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathIsNull() {
            addCriterion("dmusicpath is null");
            return (Criteria) this;
        }

        public Criteria andDmusicpathIsNotNull() {
            addCriterion("dmusicpath is not null");
            return (Criteria) this;
        }

        public Criteria andDmusicpathEqualTo(String value) {
            addCriterion("dmusicpath =", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathNotEqualTo(String value) {
            addCriterion("dmusicpath <>", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathGreaterThan(String value) {
            addCriterion("dmusicpath >", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathGreaterThanOrEqualTo(String value) {
            addCriterion("dmusicpath >=", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathLessThan(String value) {
            addCriterion("dmusicpath <", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathLessThanOrEqualTo(String value) {
            addCriterion("dmusicpath <=", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathLike(String value) {
            addCriterion("dmusicpath like", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathNotLike(String value) {
            addCriterion("dmusicpath not like", value, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathIn(List<String> values) {
            addCriterion("dmusicpath in", values, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathNotIn(List<String> values) {
            addCriterion("dmusicpath not in", values, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathBetween(String value1, String value2) {
            addCriterion("dmusicpath between", value1, value2, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andDmusicpathNotBetween(String value1, String value2) {
            addCriterion("dmusicpath not between", value1, value2, "dmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathIsNull() {
            addCriterion("zdmusicpath is null");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathIsNotNull() {
            addCriterion("zdmusicpath is not null");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathEqualTo(String value) {
            addCriterion("zdmusicpath =", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathNotEqualTo(String value) {
            addCriterion("zdmusicpath <>", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathGreaterThan(String value) {
            addCriterion("zdmusicpath >", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathGreaterThanOrEqualTo(String value) {
            addCriterion("zdmusicpath >=", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathLessThan(String value) {
            addCriterion("zdmusicpath <", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathLessThanOrEqualTo(String value) {
            addCriterion("zdmusicpath <=", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathLike(String value) {
            addCriterion("zdmusicpath like", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathNotLike(String value) {
            addCriterion("zdmusicpath not like", value, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathIn(List<String> values) {
            addCriterion("zdmusicpath in", values, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathNotIn(List<String> values) {
            addCriterion("zdmusicpath not in", values, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathBetween(String value1, String value2) {
            addCriterion("zdmusicpath between", value1, value2, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andZdmusicpathNotBetween(String value1, String value2) {
            addCriterion("zdmusicpath not between", value1, value2, "zdmusicpath");
            return (Criteria) this;
        }

        public Criteria andTmtypeIsNull() {
            addCriterion("tmtype is null");
            return (Criteria) this;
        }

        public Criteria andTmtypeIsNotNull() {
            addCriterion("tmtype is not null");
            return (Criteria) this;
        }

        public Criteria andTmtypeEqualTo(Integer value) {
            addCriterion("tmtype =", value, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeNotEqualTo(Integer value) {
            addCriterion("tmtype <>", value, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeGreaterThan(Integer value) {
            addCriterion("tmtype >", value, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("tmtype >=", value, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeLessThan(Integer value) {
            addCriterion("tmtype <", value, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeLessThanOrEqualTo(Integer value) {
            addCriterion("tmtype <=", value, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeIn(List<Integer> values) {
            addCriterion("tmtype in", values, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeNotIn(List<Integer> values) {
            addCriterion("tmtype not in", values, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeBetween(Integer value1, Integer value2) {
            addCriterion("tmtype between", value1, value2, "tmtype");
            return (Criteria) this;
        }

        public Criteria andTmtypeNotBetween(Integer value1, Integer value2) {
            addCriterion("tmtype not between", value1, value2, "tmtype");
            return (Criteria) this;
        }

        public Criteria andZexplainIsNull() {
            addCriterion("zexplain is null");
            return (Criteria) this;
        }

        public Criteria andZexplainIsNotNull() {
            addCriterion("zexplain is not null");
            return (Criteria) this;
        }

        public Criteria andZexplainEqualTo(String value) {
            addCriterion("zexplain =", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainNotEqualTo(String value) {
            addCriterion("zexplain <>", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainGreaterThan(String value) {
            addCriterion("zexplain >", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainGreaterThanOrEqualTo(String value) {
            addCriterion("zexplain >=", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainLessThan(String value) {
            addCriterion("zexplain <", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainLessThanOrEqualTo(String value) {
            addCriterion("zexplain <=", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainLike(String value) {
            addCriterion("zexplain like", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainNotLike(String value) {
            addCriterion("zexplain not like", value, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainIn(List<String> values) {
            addCriterion("zexplain in", values, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainNotIn(List<String> values) {
            addCriterion("zexplain not in", values, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainBetween(String value1, String value2) {
            addCriterion("zexplain between", value1, value2, "zexplain");
            return (Criteria) this;
        }

        public Criteria andZexplainNotBetween(String value1, String value2) {
            addCriterion("zexplain not between", value1, value2, "zexplain");
            return (Criteria) this;
        }

        public Criteria andExplainIsNull() {
            addCriterion("explain is null");
            return (Criteria) this;
        }

        public Criteria andExplainIsNotNull() {
            addCriterion("explain is not null");
            return (Criteria) this;
        }

        public Criteria andExplainEqualTo(String value) {
            addCriterion("explain =", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotEqualTo(String value) {
            addCriterion("explain <>", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainGreaterThan(String value) {
            addCriterion("explain >", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainGreaterThanOrEqualTo(String value) {
            addCriterion("explain >=", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainLessThan(String value) {
            addCriterion("explain <", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainLessThanOrEqualTo(String value) {
            addCriterion("explain <=", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainLike(String value) {
            addCriterion("explain like", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotLike(String value) {
            addCriterion("explain not like", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainIn(List<String> values) {
            addCriterion("explain in", values, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotIn(List<String> values) {
            addCriterion("explain not in", values, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainBetween(String value1, String value2) {
            addCriterion("explain between", value1, value2, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotBetween(String value1, String value2) {
            addCriterion("explain not between", value1, value2, "explain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainIsNull() {
            addCriterion("keyexplain is null");
            return (Criteria) this;
        }

        public Criteria andKeyexplainIsNotNull() {
            addCriterion("keyexplain is not null");
            return (Criteria) this;
        }

        public Criteria andKeyexplainEqualTo(String value) {
            addCriterion("keyexplain =", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainNotEqualTo(String value) {
            addCriterion("keyexplain <>", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainGreaterThan(String value) {
            addCriterion("keyexplain >", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainGreaterThanOrEqualTo(String value) {
            addCriterion("keyexplain >=", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainLessThan(String value) {
            addCriterion("keyexplain <", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainLessThanOrEqualTo(String value) {
            addCriterion("keyexplain <=", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainLike(String value) {
            addCriterion("keyexplain like", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainNotLike(String value) {
            addCriterion("keyexplain not like", value, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainIn(List<String> values) {
            addCriterion("keyexplain in", values, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainNotIn(List<String> values) {
            addCriterion("keyexplain not in", values, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainBetween(String value1, String value2) {
            addCriterion("keyexplain between", value1, value2, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andKeyexplainNotBetween(String value1, String value2) {
            addCriterion("keyexplain not between", value1, value2, "keyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainIsNull() {
            addCriterion("zkeyexplain is null");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainIsNotNull() {
            addCriterion("zkeyexplain is not null");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainEqualTo(String value) {
            addCriterion("zkeyexplain =", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainNotEqualTo(String value) {
            addCriterion("zkeyexplain <>", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainGreaterThan(String value) {
            addCriterion("zkeyexplain >", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainGreaterThanOrEqualTo(String value) {
            addCriterion("zkeyexplain >=", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainLessThan(String value) {
            addCriterion("zkeyexplain <", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainLessThanOrEqualTo(String value) {
            addCriterion("zkeyexplain <=", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainLike(String value) {
            addCriterion("zkeyexplain like", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainNotLike(String value) {
            addCriterion("zkeyexplain not like", value, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainIn(List<String> values) {
            addCriterion("zkeyexplain in", values, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainNotIn(List<String> values) {
            addCriterion("zkeyexplain not in", values, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainBetween(String value1, String value2) {
            addCriterion("zkeyexplain between", value1, value2, "zkeyexplain");
            return (Criteria) this;
        }

        public Criteria andZkeyexplainNotBetween(String value1, String value2) {
            addCriterion("zkeyexplain not between", value1, value2, "zkeyexplain");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}